package database;
import java.sql.ResultSet;
import java.sql.SQLException;

import model.*;

public class UsuarioDAO {
	public static void create(Usuario usuario)
	{
		Conexao.connect();
		Conexao.update("INSERT INTO usuario (cpf,nome,estado,cidade,login,senha,email) VALUES ('" +
				usuario.getCpf() + "','" + usuario.getNome() + "','" + usuario.getEstado() + "','" + 
				usuario.getCidade() + "','" + usuario.getLogin() + "','" + usuario.getSenha() + "','" + 
				usuario.getEmail() + "');");
		Conexao.close();
	}
	public static Usuario read(String cpf)
	{
		Usuario usuario = null;
		Conexao.connect();
		ResultSet resultSet = Conexao.query("SELECT * FROM usuario WHERE cpf='" + cpf + "';");
		try{
			while(resultSet.next())
			{
				usuario = new Usuario();
				usuario.setCpf(cpf);
				usuario.setNome(resultSet.getString("nome"));
				usuario.setEstado(resultSet.getString("estado"));
				usuario.setCidade(resultSet.getString("cidade"));
				usuario.setLogin(resultSet.getString("login"));
				usuario.setSenha(resultSet.getString("senha"));
				usuario.setEmail(resultSet.getString("email"));
			}
		}catch(Exception e)
		{
			System.out.println(e.getMessage());
		}
		Conexao.close();
		return usuario;
	}
	
	public static Usuario readLogin(String login)
	{
		Usuario usuario = null;
		Conexao.connect();
		ResultSet resultSet = Conexao.query("SELECT * FROM usuario WHERE login='" + login + "';");
		try{
			while(resultSet.next())
			{
				usuario = new Usuario();
				usuario.setCpf(resultSet.getString("cpf"));
				usuario.setNome(resultSet.getString("nome"));
				usuario.setEstado(resultSet.getString("estado"));
				usuario.setCidade(resultSet.getString("cidade"));
				usuario.setLogin(login);
				usuario.setSenha(resultSet.getString("senha"));
				usuario.setEmail(resultSet.getString("email"));
			}
		}catch(Exception e)
		{
			System.out.println(e.getMessage());
		}
		Conexao.close();
		return usuario;
	}
	public static void update(Usuario usuario)
	{
		Conexao.connect();
		Conexao.update("UPDATE usuario set nome ='" + usuario.getNome() + "',estado ='"
				+ usuario.getEstado() + "',cidade ='" + usuario.getCidade() + "',login ='" + usuario.getLogin()
				+ "',senha ='" + usuario.getSenha() + "',email ='" + usuario.getEmail() + "' WHERE  cpf ='"
				+ usuario.getCpf() + "';");
		Conexao.close();
	}
	public static void delete(String cpf)
	{
		Conexao.connect();
		Conexao.update("DELETE FROM usuario WHERE cpf ='" + cpf + "';");
		Conexao.close();
	}
	public static boolean validateUser(String username, String password) throws SQLException {
	
		Conexao.connect();
		ResultSet resultSet = Conexao.query("SELECT * FROM usuario WHERE login='" + username + "' and senha='" + password + "';");
		
		boolean	b = resultSet.next();
		
		Conexao.close();
		return b;
	}
}
